// pages/activity/enroll/form/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tempId: 0,
    name: '',
    sexType: 1,
    sexOptions: ['未知', '男', '女'],
    mobile: '',
    email: '',
    unit: '',
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    if (options.name !== undefined) {
      this.setData({
        tempId: Number(options.tempId),
        name: options.name,
        sexType: Number(options.sex),
        mobile: options.mobile,
        email: options.email,
        unit: options.unit
      })
    }

    wx.setNavigationBarTitle({
      title: options.name !== undefined ? '编辑人员信息' : '添加人员信息'
    })
  },

  handleComplete() {
    if (this.data.name === '') {
      this.showToast('请输入姓名');
    } else if (!/^1[3|4|5|6|8|7|9][0-9]\d{8}$/.test(this.data.mobile)) {
      this.showToast('请输入正确的手机号');
    } else if (!(/^[a-zA-Z0-9_-]+@([\.a-zA-Z0-9_-]+)+$/).test(this.data.email)) {
      this.showToast('请输入正确的邮箱');
    } else if (this.data.unit === '') {
      this.showToast('请输入工作单位');
    } else {
      // 修改上一个页面 data 的属性值
      const pages = getCurrentPages();
      const prevPage = pages[pages.length - 2];
      const isEdit = prevPage.data.userList.some(item => item.tempId === this.data.tempId);
      if (isEdit) {
        prevPage.data.userList = prevPage.data.userList.map(item => {
          if (item.tempId === this.data.tempId) {
            item.name = this.data.name;
            item.sex = this.data.sexType;
            item.mobile = this.data.mobile;
            item.email = this.data.email;
            item.unit = this.data.unit;
          }
          return item;
        })
      } else {
        prevPage.data.userList.push({
          tempId: Date.now(),
          name: this.data.name,
          sex: this.data.sexType,
          mobile: this.data.mobile,
          email: this.data.email,
          unit: this.data.unit,
        })
      }
      wx.navigateBack({});
    }
  },

  /**
   * 姓名
   */
  onInputName(e) {
    this.setData({
      name: e.detail.value,
    })
  },

  /**
   * 性别
   * @param {*} e 
   */
  handleChangeSexType(e) {
    this.setData({
      sexType: Number(e.currentTarget.dataset.type)
    })
  },

  /**
   * 手机号
   * @param {object} e 
   */
  onInputMobile(e) {
    this.data.mobile = e.detail.value.trim();
  },

  /**
   * 邮箱
   * @param {object} e 
   */
  onInputEmail(e) {
    this.data.email = e.detail.value.trim();
  },

  /**
   * 工作单位
   * @param {object} e 
   */
  onInputUnit(e) {
    this.data.unit = e.detail.value.trim();
  },

  /**
   * 吐司
   * @param {string} msg 
   */
  showToast(msg) {
    wx.showToast({
      title: msg,
      icon: 'none'
    })
  },

})